package cn.good.yan.t2;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 2. 基于注解管理Bean
 * @author shengren.yan
 * @create 2023-09-10
 */
@Service
public class Test {

    /**
     * 常用注解
     *    @Component
     *    @Service
     *    @Controller
     *    @Repository
     *    @AutoWired  根据属性类型自动装配
     *    @Qualifier  根据属性名称进行注入
     *    @Resource   根据类型注入，可以根据名称注入
     *    @Value      注入普通类型
     *    注意：注意：@Resource 与 @AutoWired区别，
     *             @AutoWired 默认根据类型装配byType装配
     *             @Resource  默认根据名称装配
     */

    // 一般我们基于属性注入
    @Autowired
    private Test test;

    // 基于构造方法注入
//    private TestXX test2;
//    @Autowired
//    public Test(TestXX test2) {
//        this.test2 = test2;
//    }

}
